package cc.wfu.domain.order.service;


import cc.wfu.domain.order.model.entity.SkuRechargeOrderEntity;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @Author: jia-qiang ljq1024.cc
 * @desc: 抽奖活动订单接口
 * @Date: 2024-04-22-17:47
 */
public interface IProductOrder {

    /**
     * 创建 sku 账户订单
     * @param skuRechargeEntity 活动商品实体对象
     * @return 支付url
     */
    String createSkuRechargeOrder(SkuRechargeOrderEntity skuRechargeEntity);

    /**
     * 变更；订单支付关闭
     */
    boolean changeOrderClose(String orderId);

    /**
     * 查询超时15分钟，未支付订单
     */
    List<String> queryTimeoutCloseOrderList();

    /**
     * 查询有效期内，未接收到支付回调的订单
     *  暂时用不到
     */
    @Deprecated
    List<String> queryNoPayNotifyOrder();

    /**
     * 查询待补货订单
     */
    List<String> queryReplenishmentOrder();

    /**
     * 订单商品发货
     * @param orderId 订单ID
     */
    void deliverGoods(String orderId);

    /**
     * 支付成功 - 更新订单信息
     */
    boolean changeOrderPaySuccess(String outTradeNo, String payNo, BigDecimal divide, Date parse);
}
